﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Work06._03
{
    class Bank
    {
        static float money = 100.1f;


        static void Main(string[] args)
        {
            //            第二题：
            //编写一个程序，用以接收用户输入的两个浮点型的数值，
            //一个值表示用户想要存放在银行账户中的余额，
            //另一个值表示用户想要从银行账户中提取的金额。
            //实现存取款功能，
            //用户功能选择：1、存款，2、取款
            //取款时：
            //当用户想要提取的金额大于余额时，
            //请手动抛出一个ArgumentOutOfRangeException 参数超出范围的异常，异常信息可以写“取款金额大于余额，请重新输入”
            //如此以确保取款金额始终不大于当前余额。
            //操作结束，打印输出余额是多少。
            //最后再添加catch一般异常 Exception，使得数据类型转换的异常也能被捕获到。



            choose();



        }

        private static void choose()
        {
            Console.WriteLine("1、存款，2、取款");
            int key = int.Parse(Console.ReadLine());
            switch (key)
            {
                case 1:
                    intMoney();
                    choose();
                    break;
                case 2:
                    outMoney();
                    choose();
                    break;
                default:
                    Console.WriteLine("请正确选择！");
                    break;
            }
        }

        private static void intMoney()
        {
            Console.WriteLine("想要存放在银行账户中的余额:");
            float num1 = float.Parse(Console.ReadLine());
            money = money + num1;
            Console.WriteLine("余额：" + money);
        }

        private static void outMoney()
        {
            try
            {
                Console.WriteLine("想要从银行账户中提取的金额:");
                float num2 = float.Parse(Console.ReadLine());
              if (money < num2)
            {
                Console.WriteLine("取款金额大于余额，请重新输入");
                throw new ArgumentOutOfRangeException("名字不合法！");
            }
                money = money - num2;
                Console.WriteLine("余额："+money);
            }

                catch (ArgumentOutOfRangeException)
            {
                Console.WriteLine("");

            }
            catch (Exception)
            {
                Console.WriteLine("数据类型转换的异常");
            }


        }
    }
}

